Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

выборка записи по фрагменту поля (corrado)
Author Message
corrado
Заглянувший



Joined: 09 Aug 2006
Posts: 6
Карма: 0
   поощрить/наказать


PostPosted: Wed Aug 09, 2006 8:37 pm (написано за 6 минут 6 секунд)
   Post subject: выборка записи по фрагменту поля
Reply with quote

Здравствуйте, все.

Сразу к проблеме. В базе есть поле "phones", там может быть записан один, может и много больше телефонов. Как можно выбрать запись по одному телефону из нескольких присутствующих в записи?

Наверняка это можно сделать одним запросом, но я не нашел как. Если же нельзя то, что посоветуете:

1. Проход по всем элементам с парсингом поля телефонов. Записей очень много и временные затраты будут существенные
2. Создание отдельной табцицы для телефонов. Они, практически всегда, уникальны и это выльется в огромную в длину таблицу..

Заранее благодарен.
Back to top
View user's profile Send private message
Г.О.
Участник форума



Joined: 22 Feb 2006
Posts: 378
Карма: 13
   поощрить/наказать

Location: Ленинград

PostPosted: Wed Aug 09, 2006 8:50 pm (спустя 13 минут; написано за 2 минуты 11 секунд)
   Post subject:
Reply with quote

Quote:
2. Создание отдельной табцицы для телефонов.
А то, что "Они, практически всегда, уникальны и это выльется в огромную в длину таблицу", какая разница? Ведь без этого они все равно будут лежать в первой таблице.

Так же сделать таблицу связывающую записи из первой с несколькими телефонами из телефонной.

Так же смотрите мануал по MySQL на предмет LIKE
www.mysql.ru/docs/man/String_comparison_functions.html
Back to top
View user's profile Send private message
corrado
Заглянувший



Joined: 09 Aug 2006
Posts: 6
Карма: 0
   поощрить/наказать


PostPosted: Wed Aug 09, 2006 9:00 pm (спустя 10 минут; написано за 1 минуту 33 секунды)
   Post subject:
Reply with quote

Спасибо, я просто момент с "%" немного упустил.

Но все же, делать отдельную таблицу или использовать LIKE c "%"? C временем как дела обстоять будут?
Back to top
View user's profile Send private message
Maus
Модератор



Joined: 29 Jun 2003
Posts: 8151
Карма: 271
   поощрить/наказать

Location: пос. Омсукчан Магаданской области

PostPosted: Thu Aug 10, 2006 10:39 am (спустя 13 часов 38 минут; написано за 1 минуту 18 секунд)
   Post subject:
Reply with quote

corrado wrote:
C временем как дела обстоять будут?
а Вы потестируйте. Перечисление нескольких значений в одном поле через какой-либо разделитель - обычно неудачное решение (поскольку вы нормальный индекс построить не сможете)
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML